/*
 * Copyright (c) 2002-2012 Alibaba Group Holding Limited.
 * All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.alibaba.citrus.service.template.impl;

import static com.alibaba.citrus.util.Assert.*;

/**
 * 假如未指定模板名后缀，则使用默认后缀。
 *
 * @author Michael Zhou
 */
public class DefaultExtensionStrategy implements TemplateSearchingStrategy {
    private final String defaultExtension;

    public DefaultExtensionStrategy(String defaultExtension) {
        this.defaultExtension = assertNotNull(defaultExtension, "defaultExtension");
    }

    public Object getKey(String templateName) {
        return null;
    }

    public boolean findTemplate(TemplateMatcher matcher) {
        if (matcher.getExtension() == null) {
            matcher.setExtension(defaultExtension);
        }

        return matcher.findTemplate();
    }
}
